Создание адаптивных макетов — обычная задача для веб-разработчиков. В этом блоге мы рассмотрим, как добиться конкретного адаптивного дизайна с использованием различных методов CSS, сосредоточив внимание на том, почему CSS Grid является лучшим подходом для этого конкретного макета.
Нам нужно создать макет, в котором:
Flexbox отлично подходит для одномерных макетов, но плохо справляется со сложными двумерными макетами, такими как наш. И вот почему:
DIV 1DIV 2DIV 3
.container { display: flex; flex-wrap: wrap; gap: 10px; padding: 10px; } .item { background-color: #40c4ff; color: white; padding: 20px; text-align: center; box-sizing: border-box; } .item:nth-child(1), .item:nth-child(3) { flex: 1 1 calc(50% - 10px); } .item:nth-child(2) { flex: 1 1 50%; } @media (max-width: 768px) { .item { flex: 1 1 100%; } }
В этой настройке флексбокса:
CSS Grid отлично справляется с созданием двухмерных макетов, что делает его идеальным для этой задачи.
DIV 1DIV 2DIV 3
.container { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; gap: 10px; padding: 10px; } .item { background-color: #40c4ff; color: white; padding: 20px; text-align: center; box-sizing: border-box; } .item:nth-child(1) { grid-column: 1 / 2; grid-row: 1 / 2; } .item:nth-child(2) { grid-column: 2 / 3; grid-row: 1 / 3; } .item:nth-child(3) { grid-column: 1 / 2; grid-row: 2 / 3; } @media (max-width: 768px) { .container { display: flex; flex-direction: column; } .item { width: 100%; } }
Хотя Flexbox отлично подходит для более простых одномерных макетов, CSS Grid обеспечивает мощность и гибкость, необходимые для более сложных двумерных проектов. Используя CSS Grid, мы можем легко добиться желаемого адаптивного макета с минимальным количеством кода и максимальным контролем.
Не стесняйтесь адаптировать этот пример к своим собственным проектам и наслаждайтесь преимуществами использования CSS Grid для своих адаптивных макетов!
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3